In several workplaces, a single user may need to work with two or more computers. A typical example is that of an operator working on multiple consoles; another example is that of a tester working on applications running on different machines.
In this scenario, the computers are located in the same place (such as in a single room). However, the peripheral units used to control each computer (such as a keyboard, a mouse and a monitor) waste a relatively large area. This limits the number of computers that can be arranged on the same desktop (typically, one or at most two). Therefore, when the user must control a high number of computers, they must be spread across different desktops in order to accommodate the corresponding peripheral units. As a result, the user must move from a desktop to the other whenever they must switch between different computers.
In order to solve this problem, hardware switches are commonly used. A switch consists of a device that is used to selectively enable the use of a single set of peripheral units for different computers. For this purpose, the available peripheral units are plugged into the switch. A central unit of each computer is then connected to the switch (instead of to the required peripheral units). A knob is used to select the central unit of a computer at a time, which selected central unit is then coupled with the peripheral units.
In this way, the room required by the computers is greatly reduced since a single set of peripheral units is provided for all of them. As a result, these peripheral units and the switch can be arranged on the same desktop (with the central units of the different computers being placed close to it). Therefore, the user can move from a computer to the other by simply acting on the knob of the switch—without having to leave their desktop.
Nevertheless, the user is now unable to monitor any activities in progress on the other (non-selected) computers—for example, to verify whether a specific task has been completed. For this purpose, the user must continually switch the peripheral units to the desired non-selected computer (in order to verify its condition). This is annoying for the user, and it distracts them from the current job on the selected computer.
A solution to this problem would be that of exploiting well-known collaborative techniques, wherein (target) computers are controlled remotely from a single (controller) computer. In this case, any image displayed on the target computers is replicated exactly on the controller computer, so as to allow monitoring of their activities.
However, this requires a network connectivity between the different computers. Therefore, a specific network infrastructure must be implemented for this purpose. Particularly, each computer must be configured individually to be accessible in the network. All of the above involves extra cost and a significant waste of time.
In any case, these solutions may be untenable in some specific situations. For example, the connection of the computers in a network may be not possible because of security constraints. Moreover, even when the network connectivity is available, firewall rules may prevent the desired communications.